﻿
using Furion.DependencyInjection;
using Magic.Core.Entity;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
namespace Magic.Core.Service;

public interface IDocumentService: ITransient
{
    Task<long> Add(AddDocumentInput input);
    Task Delete(DeleteDocumentInput input);
    Task<Documentation> Get(QueryeDocumentInput input);
    Task<dynamic> Page(DocumentInput input);
    Task Update(UpdateDocumentInput input);

    Task<dynamic> Tree();

    Task Upload([FromForm] DocumentUploadInput input);
    Task UploadFolder([FromForm] DocumentUploadInput input);
    Task Deletes(DeletesDocumentInput input);
    Task Move(MoveDocumentInput input);
    Task<IActionResult> Download(QueryeDocumentInput input);
    Task<string> Preview(QueryeDocumentInput input);
}
